home *** CD-ROM | disk | FTP | other *** search
- " Vim syntax file
- " Language: Inform
- " Maintainer: Stephen Thomas (stephent@isltd.insignia.com)
- " Last change: 1998 March 27th
-
- " Remove any old syntax stuff hanging around
- syn clear
-
- " A bunch of useful Inform keywords. First, case insensitive stuff
-
- syn case ignore
-
- syn keyword informDefine Constant
-
- syn keyword informType Array Attribute Class Global Nearby
- syn keyword informType Object Property
-
- syn keyword informInclude Import Include Link Replace System_file
-
- syn keyword informPreCondit End Ifdef Ifndef Iftrue Iffalse Ifv3 Ifv5
-
- syn keyword informPreProc Abbreviate Default Extend Fake_action Lowstring
- syn keyword informPreProc Message Release Serial Statusline Stub Switches
- syn keyword informPreProc Trace Verb Zcharacter
-
- " Now the case sensitive stuff.
-
- syntax case match
-
- " Assembly language mnemonics must be preceded by a '@'.
-
- syn match informAsm "@\s*je"
- syn match informAsm "@\s*jl"
- syn match informAsm "@\s*jg"
- syn match informAsm "@\s*dec_chk"
- syn match informAsm "@\s*inc_chk"
- syn match informAsm "@\s*jin"
- syn match informAsm "@\s*test"
- syn match informAsm "@\s*or"
- syn match informAsm "@\s*and"
- syn match informAsm "@\s*test_attr"
- syn match informAsm "@\s*set_attr"
- syn match informAsm "@\s*clear_attr"
- syn match informAsm "@\s*store"
- syn match informAsm "@\s*insert_obj"
- syn match informAsm "@\s*loadw"
- syn match informAsm "@\s*loadb"
- syn match informAsm "@\s*get_prop"
- syn match informAsm "@\s*get_prop_addr"
- syn match informAsm "@\s*get_next_prop"
- syn match informAsm "@\s*add"
- syn match informAsm "@\s*sub"
- syn match informAsm "@\s*mul"
- syn match informAsm "@\s*div"
- syn match informAsm "@\s*mod"
- syn match informAsm "@\s*call"
- syn match informAsm "@\s*storew"
- syn match informAsm "@\s*storeb"
- syn match informAsm "@\s*put_prop"
- syn match informAsm "@\s*sread"
- syn match informAsm "@\s*print_char"
- syn match informAsm "@\s*print_num"
- syn match informAsm "@\s*random"
- syn match informAsm "@\s*push"
- syn match informAsm "@\s*pull"
- syn match informAsm "@\s*split_window"
- syn match informAsm "@\s*set_window"
- syn match informAsm "@\s*output_stream"
- syn match informAsm "@\s*input_stream"
- syn match informAsm "@\s*sound_effect"
- syn match informAsm "@\s*jz"
- syn match informAsm "@\s*get_sibling"
- syn match informAsm "@\s*get_child"
- syn match informAsm "@\s*get_parent"
- syn match informAsm "@\s*get_prop_len"
- syn match informAsm "@\s*inc"
- syn match informAsm "@\s*dec"
- syn match informAsm "@\s*print_addr"
- syn match informAsm "@\s*remove_obj"
- syn match informAsm "@\s*print_obj"
- syn match informAsm "@\s*ret"
- syn match informAsm "@\s*jump"
- syn match informAsm "@\s*print_paddr"
- syn match informAsm "@\s*load"
- syn match informAsm "@\s*not"
- syn match informAsm "@\s*rtrue"
- syn match informAsm "@\s*rfalse"
- syn match informAsm "@\s*print"
- syn match informAsm "@\s*print_ret"
- syn match informAsm "@\s*nop"
- syn match informAsm "@\s*save"
- syn match informAsm "@\s*restore"
- syn match informAsm "@\s*restart"
- syn match informAsm "@\s*ret_popped"
- syn match informAsm "@\s*pop"
- syn match informAsm "@\s*quit"
- syn match informAsm "@\s*new_line"
- syn match informAsm "@\s*show_status"
- syn match informAsm "@\s*verify"
- syn match informAsm "@\s*call_2s"
- syn match informAsm "@\s*call_vs"
- syn match informAsm "@\s*aread"
- syn match informAsm "@\s*call_vs2"
- syn match informAsm "@\s*erase_window"
- syn match informAsm "@\s*erase_line"
- syn match informAsm "@\s*set_cursor"
- syn match informAsm "@\s*get_cursor"
- syn match informAsm "@\s*set_text_style"
- syn match informAsm "@\s*buffer_mode"
- syn match informAsm "@\s*read_char"
- syn match informAsm "@\s*scan_table"
- syn match informAsm "@\s*call_1s"
- syn match informAsm "@\s*call_2n"
- syn match informAsm "@\s*set_colour"
- syn match informAsm "@\s*throw"
- syn match informAsm "@\s*call_vn"
- syn match informAsm "@\s*call_vn2"
- syn match informAsm "@\s*tokenise"
- syn match informAsm "@\s*encode_text"
- syn match informAsm "@\s*copy_table"
- syn match informAsm "@\s*print_table"
- syn match informAsm "@\s*check_arg_count"
- syn match informAsm "@\s*call_1n"
- syn match informAsm "@\s*catch"
- syn match informAsm "@\s*piracy"
- syn match informAsm "@\s*log_shift"
- syn match informAsm "@\s*art_shift"
- syn match informAsm "@\s*set_font"
- syn match informAsm "@\s*save_undo"
- syn match informAsm "@\s*restore_undo"
- syn match informAsm "@\s*draw_picture"
- syn match informAsm "@\s*picture_data"
- syn match informAsm "@\s*erase_picture"
- syn match informAsm "@\s*set_margins"
- syn match informAsm "@\s*move_window"
- syn match informAsm "@\s*window_size"
- syn match informAsm "@\s*window_style"
- syn match informAsm "@\s*get_wind_prop"
- syn match informAsm "@\s*scroll_window"
- syn match informAsm "@\s*pop_stack"
- syn match informAsm "@\s*read_mouse"
- syn match informAsm "@\s*mouse_window"
- syn match informAsm "@\s*push_stack"
- syn match informAsm "@\s*put_wind_prop"
- syn match informAsm "@\s*print_form"
- syn match informAsm "@\s*make_menu"
- syn match informAsm "@\s*picture_table"
-
- syn keyword informPredicate contained has hasnt in notin ofclass or
- syn keyword informPredicate contained provides
-
- syn keyword informPrintSpec contained char string address name a an the The
- syn keyword informPrintSpec contained property object
-
- syn keyword informSysFunc child children elder indirect parent random
- syn keyword informSysFunc sibling younger youngest metaclass
-
- syn keyword informSysConst adjectives_table actions_table classes_table
- syn keyword informSysConst identifiers_table preactions_table version_number
- syn keyword informSysConst largest_object strings_offset code_offset
- syn keyword informSysConst dict_par1 dict_par2 dict_par3
-
- syn keyword informConditional default else if switch
-
- syn keyword informRepeat break continue do for objectloop until while
-
- syn keyword informStatement box font give inversion jump move new_line
- syn keyword informStatement print print_ret quit read remove restore return
- syn keyword informStatement rfalse rtrue save spaces string style
-
- syn keyword informOperator number roman reverse bold
- syn keyword informOperator underline fixed on off to
- syn keyword informOperator near from
-
- syn keyword informKeyword dictionary symbols objects verbs assembly
- syn keyword informKeyword expressions lines tokens linker on off alias long
- syn keyword informKeyword additive score time noun held multi multiheld
- syn keyword informKeyword multiexcept multiinside creature special number
- syn keyword informKeyword scope topic reverse meta only replace first last
- syn keyword informKeyword string table data initial initstr with private has
- syn keyword informKeyword class error fatalerror warning self
-
- syn keyword informMetaAttrib remaining create destroy recreate copy call
-
- if !exists("inform_highlight_simple")
- syn keyword informLibAttrib absent animate clothing concealed container
- syn keyword informLibAttrib door edible enterable female general light
- syn keyword informLibAttrib lockable locked male moved neuter on open
- syn keyword informLibAttrib openable pluralname proper scenery scored
- syn keyword informLibAttrib static supporter switchable talkable
- syn keyword informLibAttrib visited workflag worn
- syn match informLibAttrib "\<transparent\>"
-
- syn keyword informLibProp e_to se_to s_to sw_to w_to nw_to n_to ne_to
- syn keyword informLibProp u_to d_to in_to out_to before after life
- syn keyword informLibProp door_to with_key door_dir invent plural
- syn keyword informLibProp add_to_scope list_together react_before
- syn keyword informLibProp react_after grammar orders initial when_open
- syn keyword informLibProp when_closed when_on when_off description
- syn keyword informLibProp describe article cant_go found_in time_left
- syn keyword informLibProp number time_out daemon each_turn capacity
- syn keyword informLibProp name short_name short_name_indef parse_name
- syn keyword informLibProp articles inside_description
-
- syn keyword informLibObj e_obj se_obj s_obj sw_obj w_obj nw_obj n_obj
- syn keyword informLibObj ne_obj u_obj d_obj in_obj out_obj compass
- syn keyword informLibObj thedark selfobj player location
-
- syn keyword informLibRoutine Achieved AddToScope AllowPushDir CDefArt
- syn keyword informLibRoutine ChangeDefault ChangePlayer DefArt DoMenu
- syn keyword informLibRoutine EnglishNumber HasLightSource InDefArt
- syn keyword informLibRoutine Locale LoopOverScope NextWord
- syn keyword informLibRoutine NextWordStopped NounDomain OffersLight
- syn keyword informLibRoutine PlaceInScope PlayerTo PrintShortName
- syn keyword informLibRoutine ScopeWithin SetTime StartDaemon StartTimer
- syn keyword informLibRoutine StopDaemon StopTimer TestScope TryNumber
- syn keyword informLibRoutine UnsignedCompare WordAddress WordLength
- syn keyword informLibRoutine WriteListFrom YesOrNo ZRegion RunRoutines
-
- syn keyword informLibAction1a Quit Restart Restore Verify Save ScriptOn
- syn keyword informLibAction1a ScriptOff Pronouns Score Fullscore LMode1
- syn keyword informLibAction1a LMode2 LMode3 NotifyOn NotifyOff Version
- syn keyword informLibAction1a Places Objects
-
- hi link informLibAction1a informLibAction
-
- syn keyword informLibAction1b TraceOn TraceOff TraceLevel ActionsOn
- syn keyword informLibAction1b ActionsOff RoutinesOn RoutinesOff TimersOn
- syn keyword informLibAction1b TimersOff CommandsOn CommandsOff
- syn keyword informLibAction1b CommandsRead Predictable XPurloin XAbstract
- syn keyword informLibAction1b XTree Scope Goto Gonear
-
- hi link informLibAction1b informLibAction
-
- syn keyword informLibAction2 Inv InvTall InvWide Take Drop Remove PutOn
- syn keyword informLibAction2 Insert Transfer Empty Enter Exit GetOff Go
- syn keyword informLibAction2 Goin Look Examine Search Give Show Unlock
- syn keyword informLibAction2 Lock SwitchOn SwitchOff Open Close Disrobe
- syn keyword informLibAction2 Wear Eat
-
- hi link informLibAction2 informLibAction
-
- syn keyword informLibAction3 Yes No Burn Pray Wake WakeOther Consult Kiss
- syn keyword informLibAction3 Think Smell Listen Taste Touch Dig Cut Jump
- syn keyword informLibAction3 JumpOver Tie Drink Fill Sorry Strong Mild
- syn keyword informLibAction3 Attack Swim Swing Blow Rub Set SetTo
- syn keyword informLibAction3 WaveHands Wave Pull Push PushDir Turn
- syn keyword informLibAction3 Squeeze LookUnder ThrowAt Answer Buy Ask
- syn keyword informLibAction3 AskFor Sing Climb Wait Sleep
-
- hi link informLibAction3 informLibAction
-
- syn keyword informLibActionFake LetGo Receive ThrownAt Order TheSame
- syn keyword informLibActionFake PluralFound Miscellany Prompt
-
- hi link informLibActionFake informLibAction
-
- syn keyword informLibVariable second keep_silent deadflag
- endif
-
- syn keyword informTodo contained TODO
-
- " Special character forms.
-
- syn match informSpecChar contained "@[''\:c~o^]\|@@[0-9][0-9]*\|@{[0-9]*}\|@.."
-
- " String and Character constants
- syn region informString start=+"+ skip=+\\\\+ end=+"+ contains=informSpecChar
- syn region informDictString start="'" skip="@'" end="'"
-
- " Catch errors caused by wrong parenthesis
- syn region informParen transparent start='(' end=')' contains=ALLBUT,informParenError,informTodo
- syn match informParenError ")"
- syn match informInParen contained "[{}]"
-
- " Integer numbers: decimal, hexadecimal and binary.
- syn match informNumber "\<[0-9]\+\>"
- syn match informNumber "\<\$[0-9A-Za-z]\+\>"
- syn match informNumber "\<\$\$[01]\+\>"
-
- " Comments
- syn match informComment "!.*" contains=informTodo
-
- " Syncronization
- syn sync match informSyncRoutine grouphere NONE "\[\|\]"
- syn sync maxlines=500
-
- if !exists("did_inform_syntax_inits")
- let did_inform_syntax_inits = 1
- " The default methods for highlighting. Can be overridden later
- hi link informDefine Define
- hi link informType Type
- hi link informInclude Include
- hi link informPreCondit PreCondit
- hi link informPreProc PreProc
- hi link informAsm Special
- hi link informPredicate Operator
- hi link informPrintSpec Operator
- hi link informSysFunc Identifier
- hi link informSysConst Identifier
- hi link informConditional Conditional
- hi link informRepeat Repeat
- hi link informStatement Statement
- hi link informOperator Operator
- hi link informKeyword Keyword
- hi link informDictString String
- hi link informNumber Number
- hi link informError Error
- hi link informString String
- hi link informComment Comment
- hi link informSpecChar Special
- hi link informTodo Todo
- if !exists("inform_highlight_simple")
- hi link informLibAttrib Identifier
- hi link informLibProp Identifier
- hi link informLibObj Identifier
- hi link informLibRoutine Identifier
- hi link informLibVariable Identifier
- hi link informLibAction Statement
- endif
- hi link informParenError informError
- hi link informInParen informError
- endif
-
- let current_syntax = "inform"
-
- " vim: ts=8
-